前のページ   後のページ   目次へ

********************************

       ■■■■
     ■    ■       ■        ■
     ■           ■■■      ■■■
     ■    ■       ■        ■
       ■■■■
               〜基礎から ★ C++Programing〜
********************************

  【注意】 このマガジンは、最大化してお読みください。
       また、等角フォントでお読みください。
          (MS ゴシックなど)

********************************

 発行者      むーくん
 マガジンNO.  30(2−13)
 発行日      2000/12/18
 講読人数     2000名ぐらい
 マガジンID   0000050494
          このマガジンは、まぐまぐから配信されています。
********************************
★あいさつ★

********************************
★目次★

・問題2の答え
・応用問題の答え
・予告
********************************
★問題2の答えの例★

・縦の長さが2.5,横の長さが、3.5の長方形の
 面積と、周の長さを求め、表示せよ。
 但し、面積は、「縦×横」
    周の長さは、「2×(縦+横)」で求まる。

/*****************************
**      menseki.c          **
**      2000/12/18        **
*****************************/
#include<iostream.h>

int main(void){
    double tate, yoko;

    tate = 2.5;
    yoko = 3.5;

    cout << "面積は、" << tate*yoko << "です。" << endl;
    cout << "周の長さは、" << 2*(tate+yoko) << "です。" << endl;
    return 0;
}

特に説明するまでもありませんね。
宣言で、浮動小数点を使うことを注意してください。
また、coutの中で、式を記述していることにも注目してください。
もちろん、別な変数を宣言して、そこに代入しても構いません。
********************************
★応用問題★

・整数では、%演算子によって、余りが求められたが、
 浮動小数点では、できない。
 そこで、浮動小数点の、余りを求めるプログラムを作成せよ。

 但し、商は、整数となるようにすること。

/**************************
**      fdiv.c            **
**      2000/12/08        **
**************************/
#include<iostream.h>

int main(void){
    double x,y,div; /* 割る数、割られる数、余り */
    int quot;        /* 商(整数で宣言する)*/

    x = 6.3;
    y = 2.4;
    quot = x / y;          /* わざと、小数点以下を切り捨てる */
    
    div = x - y * quot;  /* 切り捨てられた誤差を引くと、余りになる */

    cout << x << "÷" << y << "=" << quot << "余り" << div << "です\n";

    return 0;



この問題は、わざと、浮動小数点を整数に代入するのがポイントです。
こうすると、小数点以下が切り捨てられます。

その差分を利用して、余りを求めています。
よく考えてみてください。


次に、読者の方から送っていただいた作品を紹介します。

/*********************************
**        2000/12/17                        **
**        問題2 応用問題        **
**        浮動少数点の余り         **
*********************************/

#include<iostream.h>

int main(void){

    double yday,amari;                   /*1年の日数、余り*/
    int yday_seisu,seisu,wday,aweek;   /*整数1年、整数余り、一週間、週*/

    yday = 365.25;                       /*1年の日数*/
    yday_seisu = yday;
    wday = 7;                              /*一週間は7日*/

    seisu = yday_seisu % wday;        /*余りを求める*/
    aweek = yday / wday;              /*何週あるかな?*/

    cout << "1年はおよそ、" << yday_seisu << "日あります。\n";
    cout << "また、" << aweek << "週と、" << seisu << "日です。\n";

    amari = yday - (aweek * wday);   /*小数付きの余りを求める*/

    cout << "1年はおよそ、" << yday << "日あります。\n";
    cout << "また、" << aweek << "週と、" << amari << "日です。\n";

    return 0;
}

一年間の日数を、週に変換しています。
こちらは、整数の%演算子をうまく利用しています。
大変面白かったので、載せてしまいました。
他の皆さんも、どんどんチャレンジしてくださいね。

********************************
★予告★

次回はいよいよ3章、キーボードから入力できるようになります。
入力があると、毎回動作の違うプログラムが書けます!!

今までの苦労が報われるはず。
さあ、楽しくなってきました!!
********************************


講読解除はこちら

http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html

バックナンバーはこちら
http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html

内容について質問やご意見など
smukun@hotmail.com

筆者のWebサイト(むーくんの理学的なんでも講座)
http://members.tripod.co.jp/mukun_mmg/

************************************

前のページ   後のページ   目次へ

[PR]看護師の好条件求人なら:転職のプロがサポート!年間5万人が利用